#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>

#ifndef _EQUIPEMENT
#define _EQUIPEMENT

/**
@brief la structure equipement qui defini l'equipement
**/

typedef struct{
	int idEquipement;
	int dimX;
	int dimY;
	int posX;
	int posY;
	int degats;
	int protection;
}Equipement;

/**
@brief les procedure d'initialisation de l'equipement
**/
void initEquipement (Equipement *eq);
void parametreEquipement (Equipement *eq, int idEquipement,int dimX, int dimY, int posX, int posY, int degats, int protection);

/**
@brief la procedure de libereEquipement qui libere le pointeur
**/
void libereEquipement (Equipement *eq);

/**
@brief les accesseurs permettant d'accéder aux données de la fusee
**/
int getidEquipement(const Equipement *eq);
int getdimXEquipement (const Equipement *eq);
int getdimYEquipement (const Equipement *eq);
int getposXEquipement (const Equipement *eq);
int getposYEquipement (const Equipement *eq);
int getdegatsEquipement (const Equipement *eq);
int getprotectionEquipement (const Equipement *eq);

/**
@brief la mutateurs permettant de modifier les données du jeu
**/
void setidEquipement (Equipement *eq, int idEquipement);
void setdimXEquipement (Equipement *eq, int dimX);
void setdimYEquipement (Equipement *eq, int dimY);
void setposXEquipement (Equipement *eq , int posX);
void setposYEquipement (Equipement *eq, int posY);
void setdegatsEquipement (Equipement *eq, int degats);
void setprotectionEquipement (Equipement *eq, int protection);

/**
@brief Fonctions de copie d'un equipement dans un autre
**/
void copierEquipement (Equipement *eq1, Equipement *eq2);

Equipement *creerEquipementEnCopiant (Equipement *eq);

/**
@brief Gestion des equipements
**/
void deplacerEquipement(Equipement *eq);

/**
@brief Test de non-régression
**/
void testRegressionEquipement();


#endif
